package com.cenntro.common.util;

import java.io.Serializable;
import java.util.Date;
import java.util.Random;

import org.apache.commons.lang3.time.DateFormatUtils;
import org.slf4j.Logger;

/**
 * 订单编号，
 * 预约编号生成规则
 * @author Administrator
 *
 */
public class GenerateSnUtil implements Serializable{

	private static Logger LOG = org.slf4j.LoggerFactory.getLogger(GenerateSnUtil.class);
	
	/**
	 * 订单
	 */
	public static final Integer ORDER_TYPE = 2;
	
	/**
	 * 生成订单编号
	 */
	public static String generateOrderNo(Integer userId, Integer ORDER_TYPE){
		String datestr = DateFormatUtils.format(new Date(), "yyMMdd"); //14
		StringBuilder sb = new StringBuilder();
		sb.append(ORDER_TYPE); //3
		sb.append(datestr);
		userId = (userId == null) ? 0 : userId;
		sb.append(userId);
		Random ran = new Random();
		int r = ran.nextInt(100);
		sb.append(String.format("%04d", r));  //5
		return sb.toString();
	}
		

//	/**
//	 * @param categoryCode 类目编码
//	 * @param seqName seq名称
//	 * 生成商品编号 根据seqname 返回最新的 seqname 自增
//	 * @return categoryCode + seqName 
//	 */
//	public static String generateItemSN(String categoryCode, String seqName) {
//		try {
//			long nextval = MysqlSequenceFactory.getInstance().getNextVal(seqName);
//			if (nextval < 9999){
//				return categoryCode + String.format("%05d", nextval);
//			}
//			return categoryCode +  nextval;
//		}catch(Exception e){
//			LOG.error("", e);
//			throw new BizException(0, "查询商品编码异常");
//		}
//	}
	
	
	/**
	 * seq 枚举类型,对应数据库的字段值
	 * @author Administrator
	 *
	 */
	public enum SeqEnum {
		ITEM
	}
}
